package se.webbzon.boltzmann.minigame.sandbox;

import java.awt.Color;

public interface SandBox extends ReadOnlySandBox {
	
	/** Sets the score of this sand box. **/
	public abstract void setScore(SandBoxScore score);
	
	/** Sets the info of this sand box. **/
	public abstract void setInfo(SandBoxInfo info);

	/** Sets the background color of this sand box. **/
	public abstract void setBackgroundColor(Color background);

	/** Returns true if the provided sand box item was added to the sand box. **/
	public abstract boolean addItem(SandBoxItem item);

	/** Returns true if the provided sand box item was removed from the sand box. **/
	public abstract boolean removeItem(SandBoxItem item);

	/** Clears all the sand box items of this sand box. **/
	public abstract void clearItems();

	/** Returns the container in which the provided item was dropped. If
	 * the item could not be dropped then null is returned. **/
	public abstract SandBoxContainer drop(SandBoxItem item);

	/** Returns the item that could be picked up from the provided location. 
	 * If no item was located at the position then null is returned. **/
	public abstract SandBoxItem pick(double x, double y);

}